Personalized assistance system and method

ABSTRACT

The present invention is a personalized assistance system for a user of a telephone, comprised of a first database, the first database having a contact list for the user. The contact list includes at least one contact name and a corresponding contact number and including the user&#39;s electronic commerce information. A telephone identification code is uniquely associated with the telephone and electronically transmitted to the personalized assistance system, when the user calls the system.  
     A customer service representative terminal, coupled to the database and the telephone hardware are provided where the telephone identification code prompts automatic retrieval of the contact list to the customer service representative terminal in response to processing the telephone identification code. The customer service representative terminal obtains the electronic commerce information in response to a user request to perform an electronic commerce transaction.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is related to and claims priority to U.S.Provisional Application No. 60/158,311, entitled “PERSONALIZED DIRECTORYASSISTANCE SYSTEM AND METHOD,” filed Oct. 8, 1999 and to thesubsequently filed U.S. Pat. No. 6,404,884, issued on Jun. 11, 2002, andis a continuation of the subsequently filed allowed Utility PatentApplication No. 10/158,571, filed on May 29, 2002, the contents of whichare incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] The present invention relates to communications, and moreparticularly, to a system and method which provides personalizedassistance by allowing a user to preprogram a contact database such thatthe user can quickly reach a live customer service representative whocan search the personalized database and connect the user to his or herdesired destination or arrange to perform a service or purchase an item.

[0003] Society's demand for virtually instantaneous access toinformation, and the need to quickly contact others is constantlyincreasing. To meet this demand, personal information manager (PIM)software for various types of computers, personal digital assistants(PDA) and global communication networks, such as the Internet, have beendeveloped which facilitate access to data. For example, a person mayhave contact and telephone numbers stored in their PDA or electronicorganizer, such that they can quickly determine the phone number of theperson they wish to reach. Similarly, they may have a PIM database ontheir laptop which contains the same information, such that the PIM andPDA databases are harmonized, i.e., synchronized. Recently developedInternet software allows a user to harmonize a PIM contact informationdatabase with an Internet web site.

[0004] While the contact data may be available to the user, the data maynot be readily accessible, or may be voluminous, thereby requiring theuser to search through the contact data in order to determine thetelephone number of the person they wish to reach. For example, a userdriving in their car who wishes to determine the telephone number ofanother person must pull to the side of the road, or risk getting intoan accident, in order to boot up their PC or interact with their PDA.This arrangement is dangerous and inefficient.

[0005] The proliferation of telephone communication technologies,including cellular (mobile) telephone technology, extends the ability ofan individual to contact another to virtually any location in anysituation. For example, a cellular telephone user delayed by traffic, orin an emergency, can contact others without the need to seek out a paytelephone or other means of communications, provided they know thetelephone number of the party whom they wish to contact. Theenvironmental conditions surrounding the individual's use of thetelephone, whether cellular or wire-based, does not always lend itselfto easy retrieval of telephone numbers and contact information.

[0006] For example, an individual may program the contact data andtelephone numbers into their cellular telephone and use the keypad ofthe cellular telephone to search through the stored database to locateand dial the desired number. This is often difficult when the user isdriving an automobile, or is in another situation which demands theirentire undivided attention. Even where the individual is not in asituation where their undivided attention is required, the individualmay not want to fumble with their PDA or telephone, or boot up theirpersonal computer (PC), to search for and access contact data.

[0007] Technologies have also been developed, such as voice activateddialing, which allows a user to initiate a dialing sequence by speakingthe name of the individual whom they wish to contact into the telephonedialing unit. Voice activated dialing systems use speech recognitionpatterning to search through a stored contact database to initiatedialing. These technologies, however, typically require that theindividual use a specific telephone, for example, a cellular telephone,which they have programmed to recognize their voice and have created adatabase of associated contact names and numbers. In other words, anindividual typically cannot employ the use of voice activated dialing ifthey use a telephone or device which is not equipped to recognize theirspeech pattern. Network-based voice recognition systems are alsocumbersome to use. Their operability is unreliable, and these systemsare difficult and cumbersome to configure. In addition, these systemsoffer limited functionality, typically serving as mere dialing units.Voice activated dialing technology, therefore, limits the flexibility ofa user to contact another person or arrange for the performance ofpersonal services.

[0008] In sum, existing technologies allow individuals the ability tocarry large volumes of information on their person, or access largevolumes of information, and to communicate with others from virtuallyany location. However, these technologies do not allow the individual aquick, safe and efficient way to initiate contact with another from anylocation which supports cellular or wire-based telephony.

SUMMARY OF THE INVENTION

[0009] The present invention provides a system which allows the user ofa telephone, in particular, a mobile telephone, to easily complete acall to a destination, even when they do not know the number, andwithout the need to recall the contact's telephone number using thekeypad of their telephone, and without the need to boot up a personalcomputer or hand-held computer such as a PDA.

[0010] The present invention further provides a plurality of techniquesfor users to create and update their personal contact list, and providesfor the harmonization, i.e., synchronization, of users' databases with amaster database. The ability to harmonize databases further simplifiesthe process of maintaining multiple contact lists, while still allowingthe storage of contact data in forms needed by different technologies.

[0011] As one aspect of the invention, a personalized assistance systemfor a user of a telephone is provided in which the personalizedassistance system has a database including a contact list for the usersuch that the contact list includes at least one contact name and acorresponding contact number. Telephony hardware couples the telephoneto the database. A customer service representative terminal is coupledto the database and the telephone hardware in which the customer servicerepresentative terminal searches the database in response to a userquery to locate a designated contact from the user's contact list andcauses the telephony hardware to connect the telephone with the contactnumber corresponding to the designated contact.

[0012] As another aspect of the invention, a system for populating andmaintaining a list of personal contact data for a user of the system isprovided, in which the system has at least one user terminal. A webserver is coupled to the user terminal through a communication networksuch that the web server receives personal contact update data from theuser terminal. A first database is coupled to the web server such thatthe first database stores the list of personal contact data. The list ofpersonal contact data stored in the first database is updated with thepersonal contact update data received by the web server.

[0013] As still another aspect of the present invention, a signalingmethod for a personal assistance system is provided in which a firstdial string sent from a telephone is translated to a second dial string.The second dial string identifies an originating switch at least one ofthe originating service and originating service provider for thetelephone. The second dial string is transmitted to a computer terminal,and a database is searched to identify a destination contact number. Thedatabase is searched to identify a network address of the originatingswitch in which the network address is identified in accordance with thesecond dial string. The destination number is sent to the networkaddress of the originating switch using an out-of-band network.

[0014] As still yet another aspect, a method for using a telephone tocontact a service for searching a database of contact numbers for adesired contact number and connecting a calling telephone to the desiredcontact number is provided in which a telephone number associated withthe service is called. Data corresponding to the call is routed to acomputer terminal, and the database is searched for a contact listcorresponding to an identification number of the calling telephone. Thecontact list is retrieved and searched for the desired contact number.Call completion data is sent to a switch in which the call completiondata corresponds to the desired contact number. The call is connected tothe desired contact number.

[0015] Another aspect of the invention provides a method for populatingand maintaining a list of personal contact data for a user of apersonalized assistance system in which personal contact update data isreceived from a user terminal. A list of personal contact data is storedin a first database. The list of personal contact data stored in thefirst database is periodically synchronized with the received personalcontact update data.

[0016] According to another aspect of the present invention, a methodfor using a telephone to contact a service for searching a database fordesired information and performing an operation requested by a user isprovided in which, a telephone number associated with the service iscalled. Data corresponding to the call is routed to a computer terminal.The database is searched for a contact list corresponding to anidentification number of the calling telephone. The contact list isretrieved from the database. A requested operation is received from theuser, and the requested operation is performed.

[0017] Other features and advantages of the present invention willbecome apparent from the following description of the invention whichrefers to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] For the purpose of illustrating the invention, there are shown inthe drawings several forms which are presently preferred, it beingunderstood, however, that the invention is not limited to the precisearrangements and instrumentalities shown.

[0019]FIG. 1 is a diagram of a personalized directory assistance systemof the present invention;

[0020]FIG. 2 is a diagram of the telephony elements of the presentinvention;

[0021]FIG. 3 is a flow chart of the call connection process of thepresent invention;

[0022]FIG. 4 is an example of an out-of-band address table;

[0023]FIG. 5 is a diagram of the data communication elements of thepresent invention;

[0024]FIG. 6 is a flow chart of the interaction process between a userterminal and a web server;

[0025]FIG. 7 is an example of an account information registration screenas presented on a user terminal;

[0026]FIG. 8 is an example of a contact summary screen as presented on auser terminal;

[0027]FIG. 9 is an example of a contact addition screen as presented ona user terminal;

[0028]FIG. 10 is an example of a contact summary screen as presented ona user terminal after a user has saved a contact list addition entry;

[0029]FIG. 11 is an example of a contact deletion confirmation screen aspresented on a user terminal;

[0030]FIG. 12 is an example of a contact summary screen as presented ona user terminal after a user has requested deletion of a contact listentry; and

[0031]FIG. 13 is an example of an existing user's contact summary screenas presented on a user terminal.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

[0032] Referring now to the drawings wherein like reference numeralsrefer to like elements, there is shown in FIG. 1 a personalizeddirectory assistance system of the present invention designatedgenerally as “2”. System 2 allows a user to populate a personalizedcontact directory (also referred to herein as a personal contact list)in a plurality of methods, such that the contact data can beautomatically retrieved and searched by a customer servicerepresentative and the user connected to the designated contact. Theuser preferably dials an easy to remember telephone number, such as *4,and is quickly connected to the customer service representative who canhelp the user complete his or her call. Of course, a ten digit NorthAmerican Dialing Plan number can also be used.

[0033] System 2 is preferably comprised of one or more telephones 4coupled to telephony hardware 6 via cellular mobile switching center(MSC) 7, one or more destination telephones 8 coupled to cellular MSC 7via telephony network 9, one or more user terminals 10 coupled to datacommunication hardware 12 via data communication network 14. Telephonyhardware 6 and data communication network hardware 12 are furthercoupled to database 16 and customer service representative (CSR)terminal 18. In addition, customer service terminal 18 is furthercoupled to database 16.

[0034] Telephone 4 is preferably a cellular, or other wirelesstelephone, but can also be a wire-based telephone or any other devicewhich facilitates voice communication. Telephony network 9 is preferablya typical public switched telephone network (PSTN) capable oftransmitting and receiving voice communications. Telephony hardware 6,explained in detail below, is comprised of telephone and data networkingcomponents which facilitate identification of a caller and can causecellular MSC 7 and telephony network 9 to properly switch the call tothe desired destination.

[0035] When a call is received from telephone 4, telephony hardware 6provides identification data to database 16 and alerts CSR terminal 18of the incoming call such that a customer service representative usingCSR terminal 18 is presented with the telephone user's contact directoryand other personal information such as their name.

[0036] User terminals 10 are used to populate and update a user'spersonal contact list stored on database 16. User terminals 10 can beany computing device capable of accessing a server. Preferably, userterminals 10 are desktop or laptop personal computers running webbrowser software, such as MICROSOFT INTERNET EXPLORER or NETSCAPECOMMUNICATOR, or running PIM software, such as MICROSOFT OUTLOOK, or ahand-held computing device such as a PDA, for example, a 3COM PALM PILOT(or any other device running WINDOWS CE and the like).

[0037] In the case where user terminal 10 is a desktop or laptoppersonal computer, no specialized software or hardware configuration isrequired, other than that necessary to allow user terminal 10 tocommunication across a database communication network. For example, asis known in the art, user terminal 10 must have a network interface anddata communication networking protocol software, such as TransmissionControl Protocol/Internet Protocol (TCP/IP) drivers.

[0038] Data communication network 14 is preferably the Internet, but canbe any network capable of communicating contact list data between userterminal 10 and data communication network hardware 12. As such, datacommunication network 14 allows any user with an appropriate userterminal 10 to create, revise and synchronize their personal contactlist.

[0039] Data communication network hardware 12, described in detailbelow, is comprised of those elements necessary to facilitatecommunications between the various types of user terminals 10 anddatabase 16 and CSR terminal 18. For example, data communication networkhardware 12 is preferably comprised of a number of processors, eachdesigned to accept data in various formats such that a user's personalcontact list, as stored in database 16, can be easily created and/orrevised. In other words, data communication network hardware 12 servesin part as a data filtration, conversion and storage subsystem forsystem 2.

[0040] Database 16 is preferably any known database system which can beprogrammed to support those data required to maintain a personal contactlist, and also identify the user and originating telephone system(company) of telephone 4. Database 16 preferably supports multipledatabase tables for a voluminous quantity of users, each withpotentially hundreds or thousands of records in, their personal contactlist. Database 16 also stores multimedia data associated with each useror an organization who is sponsoring a group of users.

[0041] For example, database 16 can store a branded audio messageassociated with a sponsor such as the originating telephone company suchthat when the user accesses system 2 via telephone 4, the audio welcomemessage is retrieved by CSR terminal 18 and played to the user beforethe customer service representative picks up the user's telephone call.The welcome audio message is discussed in detail below.

[0042] Database 16 can be based on any known database software and anyknown database format, but is preferably a Microsoft SQL relationaldatabase engine. The hardware configuration of database 16 can be anyhardware platform capable of supporting the quantity of users andentries in their respective contact lists. As such, database 16 can beas small as an Intel-based personal computer or as large as a mainframecomputer.

[0043] Those of ordinary skill in the art can appreciate that althoughdatabase 16 is shown as a single unit, it is not limited to thisconfiguration. Database 16 can be comprised of multiple hardware units,i.e., central processing units and/or storage devices such as CD-ROMs,hard disk drives, tape disk drives, etc. which can communicate with eachother across a transmission link. As such, it is contemplated thatdatabase 16 can take the form of a distributed database. For example,users who are primarily based on the west coast can be supported from aportion of database 16 located in California, while users primarilylocated on the east coast can access a portion of database 16 which islocated in New York.

[0044] Database 16 is preferably a structured query language (SQL)database comprised of five different relational database tables. Theseinclude a user database table, personal contact list table for eachuser, updated contact list tables, rejected updated contact list tablesand a listing arbitration table.

[0045] The user table stores information about each user, such as theirname, address, company, telephone carrier, billing information, and thelike.

[0046] The personal contact list tables preferably store contact namesand numbers for each corresponding user. The personal contact list canalso be arranged to include more detailed information about eachcontact, such as electronic and surface mail addresses, job title,company name, company address, facsimile telephone number, home web pageaddress, birthday, and the like. Each entry in a contact list isassigned a unique identification number.

[0047] The updated listings tables store updated listings contactinformation which is to be added, deleted or revised for a user'scontact list in system databases other than the directly updateddatabase. In other words, a user seeking to revise their personalcontact list operates on one list directly. These changes are thenincorporated into personal contact list database copies in other systemcomponents, for example, a database in data communication networkhardware 12, via a database synchronization process.

[0048] Changes are preferably verified prior to incorporation into theuser's personal contact list. For example, a user attempting toharmonize their hand-held computer database with their personal contactlist database initiates a harmonization process, as discussed in detailbelow. These changes are not incorporated into the user's personalcontact list until the user's authenticity has been verified, forexample, by ensuring that the user is authorized to performharmonization operations, and once the requested change has beenverified for accuracy, for example, that the requested change is not aduplicate of a previous request and such that the change request willnot corrupt the user's personal contact list.

[0049] Those requested changes which cannot be implemented are stored inrejected updated listings tables along with a reason for the error, forexample, that the user is an invalid user, that the requested change isa duplicate, and the like.

[0050] The listing arbitration table tracks the listing identificationnumbers assigned to each entry in a user's personal contact list. Thelisting arbitration table is used to track the listing identificationnumbers to ensure that a unique identification number is assigned. Thisfacilitates future updates, deletions, etc., and also ensures thatentries can be made from multiple sources, i.e., a web browser, CSRterminal, PDA, etc., without creating duplicate listing identificationnumbers.

[0051] CSR terminal 18 can be any device capable of accessing database16 and communicating with telephony hardware 6 and data communicationnetwork hardware 12, but is preferably a personal computer runningMicrosoft Windows, or a UNIX workstation. Other than the ability tocommunication across a local and/or wide area network, there are nospecific hardware requirements for CSR terminal 18.

[0052] Although it is preferred that a separate CSR telephone can beimplemented as part of system 2 and coupled to telephony hardware 6 forcommunicating with user telephone 4, CSR terminal 18 is not limited tothis arrangement. For example, CSR terminal 18 can be arranged tocontain an integrated telephone (not shown) In other words, anyarrangement which allows a customer service representative to engage inoral communications with the user of telephone 4 is sufficient. Inaddition, although only a single CSR terminal 18 is shown, system 2 isnot limited to this arrangement. It is contemplated that system 2 iscomprised of multiple CSR terminals 18 such that more than one customerservice representative is available to accommodate the users of system2. CSR terminals can also be geographically separated into multiple callcenters and coupled by appropriate data networking components.

[0053] The telephony aspect of the present invention, including adetailed description of telephony hardware 6, is described withreference to FIG. 2. FIG. 2 is a detailed diagram expanding telephonyhardware 6 shown in FIG. 1. As shown in FIG. 2, telephony hardware 6 iscomprised of tandem switch 22, automatic call distributor (ACD) 24 andout-of-band switches 26 communicating across out-of-band network 28.

[0054] Although only one cellular MSC 7, tandem switch 22 and ACD 24 areshown, it should be understood that telephony hardware 6 can beconfigured to include more than one of each of these devices. Forexample, a plurality of cellular MSCs 7 can be coupled to one telephonynetwork 9 or telephony networks provided by different carriers andfurther coupled to one or more tandem switches 22. Similarly, more thanone ACD 24 can be implemented to distribute calls to a plurality of CSRterminals 18.

[0055] Cellular MSC 7 preferably comprises a mobile telephone switchused to receive cellular telephone calls from telephones 4. Cellular MSC7 is preferably located at a cellular carrier's mobile switching officeand couples the carrier's cellular telephone network to telephonynetwork 9 which is preferably the public switched telephone network(PSTN). The types of links coupling cellular MSC 7 to tandem switch 22and telephony network 9 are known in the art and include digitalT-carriers, integrated services digital network (ISDN), asynchronoustransfer mode (ATM) and the like.

[0056] Cellular MSC 7 is further coupled to tandem switch 22 using knowndigital communication link technology. Tandem switch 22 is preferably anORYX switch sold by PRIORITY CALL, INC. Many functions performed bytandem switch 22 are known to those of ordinary skill in the art andinclude telephone call routing between trunks, converting one signalingtype to another, such as between digital signaling systems, dual tonemulti-frequency (DTMF)signaling, multi-frequency signaling, ISDN, etc.,and capturing call length and destination data for billing, etc.Although tandem switch 22 is preferably co-located with cellular MSC 7,these devices can be geographically separated and interconnected by widearea network communication links.

[0057] Tandem switch 22 is also coupled to out-of-band switch 26 forcommunicating out-of-band signaling data to database 16 and CSR terminal18 using a digital communication link. A detailed description of theout-of-band signaling is provided below.

[0058] Tandem switch 22 is further coupled to ACD 24, communicatingusing known link technology. Automatic call distribution devices areknown to those of ordinary skill in the art. ACD 24 queues incomingcalls from telephones 4 and distributes them to a customer servicerepresentative, preferably via CSR terminal 18 in accordance withpredetermined distribution functions. For example, ACD 24 can beconfigured to distribute the oldest pending call to the next availablecustomer service representative. ACD 24 is preferably configured totransmit the telephone number of telephone 4 to CSR terminal 18 so thatCSR terminal 18 can search database 16 for the user's personal contactlist. This enables the customer service representative to have theuser's contact list retrieved from database 16 and loaded on CSRterminal 18's display either before or at approximately the same timethat the customer service representative answers the user's call.

[0059] Tandem switch 22 uses the out-of-band switches 26 and out-of-bandnetwork 28 to provide data to CSR terminal 18 which informs CSR terminal18 of the particular tandem switch 22 receiving the call from telephone4. The out-of-band system formed by out-of-band switches 26 andout-of-band network 28 can be any network capable of data communicationtransmissions, but is preferably a TCP/IP network.

[0060] Out-of-band switches 26 and out-of-band network 28 are also usedby CSR terminal 18 to provide tandem switch 22 with out-of-bandsignaling call completion data for release link flash transfer. Methodsfor release link flash transfer are known in the art and refer to theability of a user to reach a customer service representative and requestanother number, which is then dialed by the operator or transferredautomatically by providing a data packet to the tandem switch. In thecase of the present invention, however, this data is preferably providedvia out-of-band switches 26 and out-of-band network 28 based on theoriginating telephone carrier. Of course, tandem switch 22 and CSRterminal 18 can be configured to communicate in-band, i.e., using thesame communication lines as the actual audio call data.

[0061] Thus, the destination telephone number is provided to tandemswitch 22 such that tandem switch 22 can dial the destination telephonenumber and then release the call from the customer servicerepresentative and ACD 24. As an alternative embodiment, tandem switch22 can be configured to transfer the call to cellular MSC 7 (or anotherswitch in telephony network 9), thereby releasing the telephonyresources of system 2. In other words, releasing the link allows thetelephone call to be completed such that telephone 4 communicates withthe destination telephone via telephony network 9 without implicatingtandem switch 22.

[0062] The operational flow which allows a user of telephone 4 to beconnected to a contact number from their personal contact list isexplained with reference to FIG. 3. Initially, it should be noted thatit is assumed that the user's personal contact list is available andstored in database 16. A detailed description of how a user's personalcontact list is updated, i.e., created and revised, is provided below.

[0063] It should also be noted that although the operation of thetelephony portion of system 2 is described with reference to a callerusing a cellular telephone, the invention is not limited to such. It iscontemplated that a user using a wire-based (PSTN) telephone as the calloriginator can also successfully use system 2. In this case, cellularMSC 7 is not used, and instead replaced by a PSTN carrier telephoneswitch.

[0064] A user wishing to be connected with a contact calls thepersonalized directory assistance service provided by system 2 (step28). Preferably, the user dials an easy to remember telephone number,such as *4, *44, and the like. Cellular MSC 7 is configured to recognizethat the dial number string belongs to the personal directory assistanceservice and routes the inbound call to tandem switch 22 (step 30). Priorto routing the call to tandem switch 22, cellular MSC 7 translates theuser's dial string (for example, *4) to the telephone number actuallyassociated with the personal directory service, for example, 511.

[0065] This translation allows different cellular service carriers toallow access to the service provided by the present invention usingdifferent simple user dial strings. For example, cellular telephonecarrier A may support access to the personalized directory assistanceservice by dial string number *4, while cellular carrier B may accessthe service using user dial string *5. Upon receiving the inbound call,tandem switch 22 further translates the MSC dial string and routes thecall to ACD 24. The translation by tandem switch 22 allows system 2 toidentify the particular cellular MSC 7 from which the dial string wasreceived along with the actual MSC dial string so that the elements ofsystem 2 can determine what service is desired, and where the inboundcall is originating from.

[0066] For example, tandem switch 22 might translate MSC dial string 511to 9605. The string translated by tandem switch 22 is referred to as thedirect inward dial (DID) number. Thus, each tandem switch 22 can havemultiple DID numbers to identify a user's request for different servicesand their calling location. It should be noted that the user's telephoneID, i.e., telephone number, is recognized by cellular MSC 7 andtransmitted to tandem switch 22, ACD 24 and CSR terminal 18 as anautomatic number identification (ANI) data string.

[0067] Once a CSR terminal 18 is available to process the user'srequest, the ACD routes the call to that CSR terminal (step 34) alongwith the DID and ANI data. It should be noted that, although thepreferred embodiment employs ACD 24, system 2 can be arranged withoutACD 24. For example, such that tandem switch 24 completes calls to CSRterminal 18 via a private branch exchange hunt group. Because CSRterminal 18 is provided with data detailing the nature of the user'sdesired service and where the call originated from (for example, theoriginating cellular carrier), CSR terminal 18 preferably retrieves abranded audio file stored in database 16 which is associated with theDID or the user's ANI, and plays that message for the user while theuser is waiting for the customer service representative. Preferably, thebranded audio file is recorded using the voice of the customer servicerepresentative handling the call.

[0068] Although not shown, an alternative embodiment is contemplated inwhich ACD 24 or CSR terminal 18 retrieves the audio file from aprocessor other than that which supports database 16. In other words,this audio processor would be coupled to ACD 24 and/or CSR terminaland/or one or more of the other telephony hardware elements. As analternative embodiment, ACD 24 retrieves and plays a generic audio filedirectly from database 16 or via CSR terminal 18 such that it is CSRterminal 18 which conducts the actual database table lookup in database16 to retrieve the generic audio file. In this case, a generic audiofile preferably comprises a system welcome greeting not recorded in thehandling CSR's voice.

[0069] Preferably, ACD 24 transmits the DID and ANI data to CSR 18 overa data communications link, such as a TCP/IP link, which is separatefrom the link used to transfer the actual call, i.e., user's voice. Atapproximately the same time as the transferred call is being answered bya customer service representative, CSR 18 generates and submits adatabase lookup query to database 16 to retrieve the personal contactlist associated with the caller's telephone ID, for example, thetelephone number of telephone 4 (step 36).

[0070] If a list associated with the caller's telephone ID is present indatabase 16 (step 38), the user's personal contact list is retrieved andpresented on the display of user terminal 18 (step 40). Where a personalcontact list is not identified, such as the case where the user iscalling from a telephone 4 different from that registered with system 2,the customer service representative must make an oral request from theuser to determine the telephone ID under which they have registered(step 42). In this case, it is contemplated that an authenticationpassword will be stored in database 16 along with the user's personalcontact list such that the personal contact list will only be retrieved,or the CSR authorized to continue processing the user's request, whenthe authentication password stored in database 16 matches that given bythe user.

[0071] Where the user provides a telephone ID and an authenticationpassword which are present in database 16 and validated by CSR terminal18, the user's personal contact list is retrieved and presented on thedisplay of CSR terminal 18, as described above with respect to step 40.

[0072] Of course, the entire contents of a user's personal contact listneed not be actually displayed on CSR terminal 18. In the alternative,CSR 18 can transfer the CSR list to its internal memory or storage forsearching, or can initiate SQL database lookup queries on database 16.Preferably, the actual personal contact list data is not transferred toCSR terminal 18, but rather that CSR 18 initiates specific databasequeries once the customer service representative determines whom theuser wishes to contact.

[0073] It is also contemplated that users can be grouped to access acommon personal contact list, such as the case where a group of usershas a common associated interest in the list, for example a companydirectory. It is further contemplated that each user within the groupcan customize the common personal contact list to his or her needs byadding entries specific to them. In other words, a user's personalcontact list would be comprised of the common personal contact list plustheir own entries.

[0074] Methods for initiating a query and searching a database areknown. The customer service representative then uses CSR terminal 18 tosearch the user's personal contact list based on the request, anddetermines the telephone number of the desired contact (step 44). Thecustomer service representative then causes CSR terminal 18 to send callcompletion data to the tandem switch via out-of-band switches 26 andout-of-band network 28 (step 46).

[0075] Recall that CSR terminal 18 was sent the tandem switch DID as aresult of steps 32 and 34. CSR terminal 18 is able to determine thecorresponding network address by looking up the network address,preferably a TCP/IP user datagram protocol (UDP) address from anout-of-band address table stored in database 16. Finally, tandem switch22 drops the call to ACD 24 and transmits the contact number dial stringto cellular MSC 7 to connect the call to the desired contact number viatelephony network 9 (step 48). It should be noted that call completionis not limited solely to connecting the call through the originatingcellular MSC 7. It is contemplated that tandem switch 22 can completethe call via a different PSTN switch coupled to telephony network 9. Thecall dropping process and connection via telephony network 9 is therelease link flash transfer process described above.

[0076] An example of an out-of-band address table is described withreference to FIG. 4. FIG. 4 shows an out-of-band address table 50 storedin database 16. Out-of-band address table 50 is used by CSR terminal 18as described above to determine the destination network address for thetandem switch 22 from which the user's call originated. Out-of-bandaddress 50 is comprised of one or more records 52 in which each record52 is comprised of a DID number field 54, a sequence field 56, a UDPaddress field 58, a UDP port field 60 and UDP time-out field 62. Thesefields, taken together, comprise a record which when a search based onDID number field 54 is initiated by CSR terminal 18, yields the UDPaddress, UDP port and UDP time-out values needed by CSR terminal 18 toroute the desired contact number to tandem switch 22 across out-of-bandnetwork 28.

[0077] In particular, DID number field 54 represents the DID numbertranslated by tandem switch 22 during the user's inbound call. Sequencenumber field 56 represents an identification number which allowsmultiple UDP addresses to be associated with a single DID number. Uniquerecords for combinations with the same UDP address, port and DID numberare created by assigning a unique sequence number to the combination.This is useful for supporting parallel transmissions to the same DID ontandem switch 22 or for sequential transmission upon failure of theprevious UDP message. UDP address field 58 corresponds with thedestination UDP network address associated with the DID number fortandem switch 22. UDP port field 60 identifies the specific processwithin tandem switch 22 to which CSR terminal 18 should communicate. UDPtime-out field 62 sets forth the time, preferably in milliseconds, forwhich CSR terminal 18 should wait to receive an acknowledgment fromtandem switch 22 that tandem switch 22 has received the contact number.The specific definitions of UDP address field 58, UDP port 60 and UDPtime-out value 62 are known in the art.

[0078] The data communication network aspect of the present invention,including a detailed description of data communication network hardware12 is described with reference to FIG. 5. As shown in FIG. 5, datacommunication network hardware 12 is comprised of firewall 64, PIMserver 66, web server 68, hand-held server 70, synchronization server 72and server database 73. Firewall 64, servers 66-72 and database 73 canbe any computer capable of communicating across a network, eachpreferably comprising a central processing unit, storage device such asa hard disk drive, CD-ROM, tape drive, digital video disk (DVD) drive,etc., a read-only memory and enough random access memory to support theexpected number of users. In other words, firewall 64, servers 66-72 anddatabase 73 can range from a personal computer to a mainframe computer,depending on the demand expected to be met.

[0079] Database 73 is arranged in a manner similar to database 16 andsupports direct database update requests from user terminals 10. In thepreferred embodiment, CSR terminal 18 directly updates database 16,while servers 66-70 directly update server database 73.

[0080] Synchronization server 72 synchronizes server database 73 anddatabase 16.

[0081] As shown in FIG. 5, firewall 64 is coupled to data communicationnetwork 14. Firewall 64 can be any device capable of running knownfirewall, i.e., network protection, software. In the alternative,firewall 64 can be omitted and servers 66-72 arranged to communicatedirectly with data communication network 14. Firewall 64, therefore,serves to isolate the elements of data communication network hardware 12from unauthorized intrusion from users of data communication network 14.

[0082] Firewall 64 is also coupled to PIM server 66, web server 68 andhand-held server 70, all of which are coupled to the same networksegment. It is contemplated that any known networking topology andtechnology can be used, including Ethernet technologies, token ringtechnologies, fiber distributed data interface (FDDI) technologies,switched networking technologies, asynchronous transfer mode (ATM)technologies, and the like. Firewall 64 is preferably configured toallow limited access to servers 66, 68 and 70 from data communicationnetwork 14, and to allow less limited communication between servers 66,68 and 70 with synchronization server 72.

[0083] Synchronization server 72 is coupled to firewall 64 via a networkinterface separate from those of servers 66, 68 and 70, and is coupledon the same side of the firewall as database 16 and CSR terminal 18. Oneof ordinary skill in the art will recognize that synchronization server72, database 16 and CSR terminal 18 are not necessarily resident on thesame physical network segment, but rather can be separated by networkingcomponents, such as local area network switches, routers, hubs, etc.

[0084] The data communication aspect of the present invention allows auser's personal contact list to be updated (created and edited), andsynchronized with other user contact lists. This is preferablyaccomplished in one of six ways. First, the user can call the customerservice representative using the service access (*4) or anotherpredetermined telephone number such that the customer servicerepresentative can make the desired changes to the user's personalcontact list on database 16 using CSR terminal 18. Second, userterminals 10 can access web server 68 using a web browser to maintain(create and edit) their personal contact list. Third, where userterminal 10 comprises PIM contact management software, user terminal 10can download and/or synchronize the contact data in user terminal 10with their personal contact list via PIM server 66. Fourth, where userterminal 10 is a hand-held computer, the hand-held computer can be “hotsynched” with the user's personal contact database by communicating withhand-held server 70. Fifth, the user can send an electronic mail fromuser terminal 10 to web server 68 describing their desired changes indetail. Sixth, the user can fax their request to the provider of system2. Although six techniques have been described, the invention is notlimited to only these techniques.

[0085] It should be noted that in each of the above cases, the user'srequest does not always directly update database 16. For example, whereuser terminal 10 is a PC or hand-held computer, user terminal 10communicates with one of servers 66, 68 and 70, such that personalcontact updating is done first on server database 73. In these cases,user terminal 10 transmits personal contact list update data to one ofservers 66, 68 and 70 in which the update data comprises datacorresponding to the user's desired update action. The update iscommunicated to server database 73 and an updated listings table iscreated to reflect the changes. Continuously or at periodic intervals,preferably, one hour intervals, synchronization server 72bidirectionally synchronizes the personal contact list changes requestedand stored in server database 73 with database 16 using the updatedlistings table. This reduces the load of editing and changing personalcontact list data in a single database and increases the overallsecurity of the system by reducing the number of different devices whichare permitted to access database 16. Customer service representativeinitiated changes, made via CSR terminal 18, however, can eithercommunicate directly with database 16 to make the changes or via serverdatabase 73 and synchronization server 72.

[0086] As part of the synchronization server process, synchronizationserver 72 searches for requested changes made via servers 66, 68 and 70,by querying the updated listings tables resident on database 73 in whichthis data table is comprised of update records corresponding to thepersonal contact list update data sent by user terminal 10 to one ofservers 66, 68 and 70. Synchronization server 72 performs the requestedaction, for example, contact insertion, deletion, clearing, telephone IDchanges, etc., on database 16. Those requested changes which arerejected are stored in the rejected updated contact listings table.Updated listings are stored in the updated contact listings table andalso incorporated into the user's contact information list databasetable. A similar set of steps are used to synchronize updates made todatabase 16 with server database 73.

[0087] Where necessary, synchronization server 72 can be comprised ofmore than one physical server, such as where appropriate for backup orgeographic distribution, and each synchronization server 72 cancommunicate with more than one database 16 or server database 73, suchas the case where database 16 or database 73 is distributed amongmultiple physical hardware devices.

[0088] In addition, it is contemplated that the present invention can beimplemented without synchronization server 72 such that CSR terminal 18and servers 66-70 directly update a single database, such as database16, or multiple databases, such as database 16 and server database 73.

[0089] It is preferred that access to hand-held server 70 and PIM server66 be restricted until the user has established a valid account byregistering for the service with a customer service representative orvia web server 68. In other words, a user attempting to hot synch theirhand-held computer or harmonize their PIM database with database 16 willnot be permitted to do so unless they have established a valid account.Account verification can be checked, for example, by PIM server 66 orhand-held server 70 prior to accepting the harmonization request fromuser terminal 10.

[0090] It is also contemplated that personal contact list data stored inserver database 73 can be used as the basis for harmonizing with PIMcontact management software or a hand-held computer in a bidirectionalmanner, i.e., database harmonization can be accomplished from serverdatabase 73 to user terminal 10 via servers 66 or 70, or from userterminal 10 to server database 73 via servers 66 or 70.

[0091] The interaction between user terminal 10 and web server 68 isdescribed with reference to the flow chart in FIG. 6. A user establishesa session with web server 68 from user terminal 10 (step 74). Sessionestablishment with web server 68 and subsequent display screens can beaccomplished using any known technique, preferably using the hypertexttransfer protocol (HTTP). Web server 68 serves as the web site hostingmechanism for system 2. Web server 68 preferably supports web pagetransfer using pages developed with hypertext mark language (HTML),common gateway interface-bin (CGI-bin) and the like.

[0092] Upon session establishment, the user is presented with theservice's home page and can select to enter the system as a new user orlog in as an exisitng user (step 76).

[0093] When the user has not yet registered, such as when the user isnew, web server 68 executes the registration process (step 78). Theregistration process includes the creation of a database record forfuture synchronization with database 16 comprising the user's accountinformation. A registration information request is transmitted to userterminal 10, preferably as an electronic form to be completed by theuser via the web browser software. The user then selects from a list ofoperations by navigating through the web site (step 80). Web server 68then processes the selected operation (step 82). These operations andprocesses are described in detail below. Steps 80 and 82 are continueduntil the user has completed their desired personal contact listupdating operation (step 84). FIG. 7 shows an example of an accountinformation registration screen 86.

[0094] Registration screen 86 is preferably comprised of a number ofdata element descriptions and corresponding locations from which datacan be entered using any known method for entering data on an electronicform, including using the keyboard, pull-down bars, radio buttons, etc.

[0095] Registration screen 86 is comprised of first name element 88 andcorresponding first name element entry area 90, middle name element 92and corresponding middle name element entry area 94, last name element96 and corresponding last name element entry area 98, mobile phonenumber element 100 and corresponding mobile phone number element entryarea 102, mailing address element 104 and corresponding mailing addresselement entry area 106, city element 108 and corresponding city elemententry area 110, state element 112 and corresponding state element entryarea 114, zip code element 116 and corresponding zip code element entryarea 118, electronic mail address element 120 and correspondingelectronic mail address element entry area 122, contact phone numberelement 124 and corresponding contact phone number element area 126, faxnumber element 128 and corresponding fax number element entry area 130,password element 132 and corresponding password element entry area 134,password verification element 136 and corresponding passwordverification element entry area 138, social security number element 140and corresponding social security number element entry area 142 andregistration button 144.

[0096] Not all of these elements are necessarily required in order toestablish an account. Preferably, an account can be established for auser who provides at least last name element 96, mobile phone numberelement 100, electronic mail address element 120, contact phone number124 and password element 132. It is also contemplated that additionaldata elements can be gathered from a user including credit card data forbilling and electronic commerce services, bank account data for billpaying, services, user preferences and demographic data for targetedadvertising, electronic commerce, etc.

[0097] Billing for the service provided by system 2 can be based ondebiting prefunded account balances tracked by database 16, charging thebilling account separately for each transaction or periodically charginga flat fee for a large or unlimited amount of service use.

[0098] In particular, password verification element 136 is used toensure that the password entered in password element entry area 134 isthe password intended by the user. Social security number element 140 isused as an alternate means of identifying the user in the event that theuser has forgotten their password. Of course, any combination ofelements in registration screen 86 can be implemented.

[0099] Upon completing the required entry areas on registration screen86, the user selects registration button 144, thereby causing userterminal 10 to transmit the registration data corresponding to theentered data to web server 68. Web server 68 verifies that the entereddata is valid, for example, that the password element 132 and verifiedpassword element 136 match, and that the account is not a duplicate ofthat previously established. Referring again to FIG. 6, when the user isnot new and has successfully been authenticated, or has just registered,user terminal 6 presents a list of operational options from which theuser selects (step 80).

[0100] Part of a preferred list of options from which a user may selectis shown in FIG. 8. The remaining options, contact editing and contactdeletion, are discussed below. FIG. 8 is an example of a screen displaypresented in a browser window on user terminal 10 showing contactsummary screen 146. Contact summary screen 146 preferably allows a userto add contact by selecting add contact link 148, edit accountinformation by selected edit account information link 150, return to thehome page by selecting return to log-in screen link 152 or generate anelectronic mail to the administrator of web server 68 by selectingelectronic mail administrator link 154.

[0101] Contact summary screen 146 also allows a user to search for anentry in their personal contact list by entering the search parametersin search entry area 156 and selecting search button 158. Selecting alllistings button 160 causes the user's entire personal contact list to beretrieved from database 16 and presented on the display of user terminal10. Selecting a letter from alphabetic character list 162 causes allentries in the contact list corresponding to the selected letter to bedisplayed on user terminal 10. Corresponding entries can be based oneither the first initial of the contact's first name and/or the firstcharacter of the contact's last name.

[0102] Information area 164 is comprised of entries corresponding to theselection made from alphabetic character list 162, or the status of theuser's selection, for example, that a contact has been added and/orother relevant information which is communicated to the user.

[0103] As shown in FIG. 8, information area 164 indicates that there areno entries in the user's contact list. It should be noted that in thecase where entries in the user's personal contact list were madepreviously, a user who successfully logs into web server 68 is presentedwith contact summary screen 146 arranged such that the entries aredisplayed in information area 164. Known scrolling or screen displaymethods can be used to display portions of the user's personal contactlist where the number of entries is larger than that which can bedisplayed at one time.

[0104] Although not shown, summary screen 146 can include other linkssuch as software download links, links to other services, such as chatrooms, etc.

[0105] Selecting add contact link 148 indicates to web server 68 thatthe user wishes to add one or more contacts. FIG. 9 shows an example ofadd contact screen 166, displayed when add contact link 148 is selected.Add contact screen 166 comprises a contact name element 168 andcorresponding contact name element entry area 170, contact numberelement 172 and corresponding contact number element entry area 174. Asshown in FIG. 9, the user has, for example, entered “William Smith” incontact name element entry area 170 with a corresponding telephonenumber of “(123) 456-7890” in telephone number element entry area 174.The user selects save button 176 if satisfied with the entry, or cancancel the entire operation by selecting cancel button 178. Selectingcancel button 178 preferably causes contact summary screen 146 to bedisplayed on user terminal 10.

[0106] The user can enter a group of contacts by entering one or morecontact names and numbers, preferably using a comma delimited format sothat web server 68 can parse the entries in input area 180. Of course,any method for distinguishing between personal contact list entries canbe used in input area 180. Add contact screen 166 also includes importbutton 182 which, when selected, allows a group of personal contactentries to be transferred from user terminal 10 to web server 68.Methods for transferring files between a computer and a web server areknown.

[0107] Although not shown, as discussed above, add contact screen 166,and all other screens which display contact data, can be arranged toallow for the capture and display of more detailed contact data.

[0108] As discussed above, selecting save button 176 causes userterminal 10 to transmit the contact entry or entries to be transmittedto web server 68. FIG. 10 shows an example of contact summary screen 146displayed on user terminal 10 after save button 176 has been selected.In particular, information area 164 shows that “William Smith” has beenadded along with the corresponding telephone number.

[0109] As shown in FIG. 10, information area 164 also includes edit link184 and delete link 186. When selected by a user, edit link 184 causesuser terminal 10 to display a screen similar to that of FIG. 9, therebyallowing the user to edit the corresponding contact entry.

[0110] Selecting delete link 186 indicates to web server 68 that theuser wishes to delete the corresponding entry.

[0111]FIG. 11 shows an example of contact deletion confirmation screen188, displayed when the user selects delete contact link 186. As shownin FIG. 11, contact deletion confirmation screen 188 preferablycomprises contact area 190, delete button 192 and cancel button 194.Contact area 190 preferably contains the contact name and numbercorresponding to the contact displayed in information area 164 fromwhich the user selected delete contact link 186. To confirm thedeletion, the user selects delete button 192. This selection causes userterminal 10 to indicate to web server 68 that the user wishes to deletethe corresponding contact name entry from the user's personal contactlist. Selecting cancel button 194 indicates to web server 68 that theuser wishes to cancel the deletion operation. In this case, web server68 preferably causes user terminal 10 to display contact summary screen146.

[0112]FIG. 12 shows an example of contact summary screen 146 displayedwhen the user confirms deletion by selecting delete button 192 oncontact deletion confirmation screen 188. In particular, informationarea 164 indicates that the contact, “William Smith” in this example,has been deleted.

[0113] As discussed above, changes made to the user's personal contactlist, such as by adding a contact via add contact screen 166, deleting acontact via contact deletion confirmation screen 188 or editing acontact by selecting edit contact link 184 causes a corresponding recordin server database 73 to be created as an update record. This updaterecord is synchronized by synchronization server 72 with database 16 atthe predetermined periodic synchronization intervals.

[0114] When a user with an existing account establishes a session withweb server 68, the user's personal contact list is retrieved from serverdatabase 73 by web server 68 and transferred to user terminal 10 as partof the data comprising contact summary screen 146. An example of contactsummary screen 146 displayed when an existing user establishes a sessionwith web server 68 is shown in FIG. 13. In particular, information area164 shows the user's personal contact list, along with provisions toedit the contact by selecting edit contact link 184 or deleting thecorresponding contact by selecting delete contact link 186.

[0115] As such, the user can navigate through the various displayscreens presented by web server 68 by selecting particular listoperation options (step 80). Depending on the selected operation, webserver 68 processes the selected operation, for example, contactaddition, editing and deletion (step 82). The user can navigate throughthe web site provided by web server 68 making changes as necessary (step84). The changing process continues until the user logs off by leavingthe web site or by logging off from web server 68, preferably byselecting a log-off button or link (not shown).

[0116] Software to harmonize hand-held computer and other hand-heldcomputing device databases with larger computers, such as personalcomputers, is generally known. Typically, however, this softwarerequires that the hand-held computer and larger computing device bepresent in the same room such that they can be physically connected witha cable or in line of sight for infrared communication. The presentinvention allows harmonization between a hand-held computer(as userterminal 10) and hand-held server 70 via data communication network 14.In particular, user terminal 10 is equipped with software which allowsuser terminal 10 to initiate a communication session with hand-heldserver 70. This session preferably includes an authentication mechanismsuch as a user ID and password to ensure that the user is authorized touse system 2, and in particular, authorized to harmonize databases withserver database 73 via hand-held server 70.

[0117] Once the communication session has been established, thehand-held computer sends personal contact list coordination data tohand-held server 70, including additions, deletions and changes to bemade to the user's personal contact list. Preferably, hand-held server70 transfers this data to server database 73 for subsequentsynchronization with database 16 via synchronization server 72. In analternative embodiment, personal contact list changes made via hand-heldserver 70 can be directly harmonized with database 16.

[0118] A similar arrangement is made with respect to PIM server 66 whereuser terminal 10 is a PC utilizing PIM contact management software.Software for synchronizing a PIM with a server such as PIM server 66 isknown. For example, software provided by Paragon Software Limited isinstalled on user terminal 10 and transmitted to PIM server 66 via datacommunication network 14. In the preferred embodiment, PIM server 66preferably transmits the personal contact list coordination data toserver database 73. This data is then synchronized with database 16 viasynchronization server 72. In the alternative, it is contemplated thatPIM server 66 can directly update database 16.

[0119] Changes to a user's personal contact list made via CSR terminal18 can be made using a web browser loaded on CSR terminal 18, orpreferably by a graphical user interface application program whichrequires less navigation than the above-described browser-based method.The graphical user interface application program can be a MICROSOFTWINDOWS application program which allows a customer servicerepresentative to quickly register a new user and update the user'spersonal contact database in database 16 by adding, deleting and editingdatabase entries. The update information is either synchronized withserver database 73 by synchronization server 72 or transmitted directlyto the updated listings table in server database 73 as contact listrevision data.

[0120] It should be noted that although the present invention has beendescribed in detail in terms of a personalized directory assistancesystem which enables the automatic completion of the user's call, thepresent invention is not limited to such.

[0121] As an alternative embodiment, it is contemplated that the presentsystem can be used to perform operations requested by a user, such asfor electronic commerce applications. For example, a user can establisha purchasing profile including their credit card number and can populatetheir personal contact list in database 16 (and server database 73) withelectronic commerce information using any of the aforementionedtechniques. The user can use telephone 4 to contact a customer servicerepresentative to inquire about personal information they have stored indatabase 16, or other information made available by the provider ofsystem 2 and stored in database 16. It is contemplated that the user canstore data relating to their favorite restaurants and favorite stores.

[0122] For example, the user can store his or her clothing sizes indatabase 16 and use system 2 to contact a customer servicerepresentative to arrange for purchase of a pair of pants. The customerservice representative has access to a number of vendors whose relevantdata is stored in database 16, for example, telephone number, storelocation, price, Internet web page uniform resource location (URL), etc.and can promptly order the pants in the correct size.

[0123] In addition, because the present invention contemplates storingcontact addresses, and other data regarding the contact, a user can usetelephone 4 to contact a customer server representative to order goodsand/or services for delivery directly to the contact.

[0124] Although the user can store personal information about themselvesand their contacts in database 16 for electronic commerce purposes, thisinformation is not always required. For example, the customer servicerepresentative can be provided with Internet access via CSR terminal 18and can search the Internet to fulfill the request. It is alsocontemplated that a user can contact a customer service representativein order to buy tickets to events for delivery to the user, or to acontact. Similarly, a user can contact a customer service representativevia system 2 and request the best price for an item they wish to buy,even if the best price is not taken from the retailers in the user'spersonal contact list. In this case, the customer service representativeuses CSR terminal 18 to search the Internet using known searchtechniques to determine the best available price for the item. The usercan then purchase the item directly at the store, or through theprovider of system 2.

[0125] It is also contemplated that the present invention can be used toimplement a bill paying service. In particular, a user will establish apayment profile in database 16 (and server database 73) including bankaccount information, security codes, and names, addresses and accountnumbers of payees. When the bill arrives from an authorized payee, theuser preferably reviews the bill for accuracy, then contacts a customerservice representative using system 2 to authorize payment. Techniquesfor the actual remittance of bill payments are known and can be used bythe provider of system 2 to pay the bill from the user's authorized bankaccount.

[0126] It is also contemplated that the user contact database can beused to store data relating to special occasions, such as birthdays,anniversaries and the like. When the date of the special occasion nears,an alert is displayed on CSR terminal 18 so that a customer servicerepresentative can contact the user to remind the user of the specialoccasion. The customer service representative can offer to send gifts,flowers, greeting cards, etc. to the contact, and can use any of theabove-described techniques for fulfilling the user's request.

[0127] It is also contemplated that a user can access system 2 torequest that a customer service representative set up conference calls,send electronic mails, faxes, initiate a page or short message service(SMS) message, request directions which can be sent to the user via, forexample, electronic mail, fax or an SMS message. Also, a user cancontact the customer service representative via system 2 to locate arestaurant, request restaurant reviews and information, and even requestthat the customer service representative make a reservation for them.

[0128] In sum, the present invention provides a human portal whichprovides access to information and services via a human operator, whileleveraging the ubiquity and access capabilities of a wireless telephone.

[0129] The present invention advantageously provides a system whichallows the user of a telephone, in particular, a mobile telephone, toeasily complete a call to a destination, even when they do not know thenumber, and without the need to fumble with the keypad of theirtelephone to attempt to recall the telephone number from the memory oftelephone 4. The present invention also obviates the need of a user tostart PIM software on their laptop or fumble with their hand-heldcomputer to retrieve the contact's telephone number. By allowing aconnection with a customer service representative who has access to theuser's personal contact list via a simple dial string, the user caneasily and safely be connected to their destination.

[0130] The present invention further advantageously provides for aplurality of techniques to create and update their personal contactlist. The present invention provides for the synchronization of user'sdatabases with a database in system 2 (database 16), thereby furthersimplifying the process of maintaining multiple contact lists in formssuitable for the different technologies and needs of the user.

[0131] The present invention also advantageously allows a user to easilyengage in electronic commerce, without special hardware at the user'slocation and regardless of the user's ability to access a computernetwork such as the Internet. The user can easily request and receiveservices and information, preferably based on a prestored profile.

[0132] Although the present invention has been described in relation toparticular embodiments thereof, many other variations and modificationsand other uses will become apparent to those skilled in the art. It ispreferred, therefore, that the present invention be limited not by thespecific disclosure herein, but only by the appended claims.

1. (new) a personalized assistance system for a user of a telephone, thepersonalized assistance system comprising: a first database, the firstdatabase having a contact list for the user, the contact list includingat least one contact name and a corresponding contact number andincluding the user's electronic commerce information; a telephoneidentification code uniquely associated with the telephone saididentification code being electronically transmitted to saidpersonalized assistance system, when said user calls the system; acustomer service representative terminal coupled to the database and thetelephone hardware, the telephone identification code promptingautomatic retrieval of the contact list to the customer servicerepresentative terminal in response to processing of said telephoneidentification code, the customer service representative terminalobtaining said electronic commerce information in response to a userrequest to perform an electronic commerce transaction.
 2. (new) Thepersonalized assistance system according to claim 1, wherein at leastone said contact name on said contact list is the user's favoritecommercial establishment.
 3. (new) The method according to claim toclaim 1, wherein the electronic commerce transaction is a purchaseoperation and the performing step includes the steps of: locating theitem to be purchased by searching a network; purchasing the item; andarranging for delivery of the item to either one of the user and acontact.
 4. (new) The personalized assistance system according to claim3, wherein said item to be purchased is located by searching saidcontact list.
 5. (new) The personalized assistance system according toclaim 3, further comprising the step of locating the best price for saiditem to be purchased.
 6. (new) The personalized assistance systemaccording to claim 1, wherein said electronic commerce informationincludes any one of the user's credit card information and bank accountinformation.
 7. (new) The personalized assistance system according toclaim 1, wherein said contact list further comprises a purchasingprofile for the user.
 8. (new) The personalized assistance systemaccording to claim 7, wherein said purchasing profile maintains a listof the user's personal information.
 9. (new) The personalized assistancesystem according to claim 7, wherein said purchasing profile maintains alist of the user's clothing size.
 10. (new) The personalized assistancesystem according to claim 8, wherein said electronic commercetransaction is the purchase of either one of products and services. 11.(new) The personalized assistance system according to claim 9, whereinsaid electronic commerce transaction is the purchase of clothing. 12.(new) The personalized assistance system according to claim 1, whereinsaid electronic commerce transaction includes the purchase of ticketsrelated to an event.
 13. (new) The personalized assistance systemaccording to claim 1, wherein the electronic commerce informationincludes bill payee data for the user.
 14. (new) The personalizedassistance system according to claim 13, wherein the electronic commercetransaction is the direct payment of bill payment by said customerservice representative.
 15. (new) The personalized assistance systemaccording to claim 1, wherein the stored personal contact data includesat least one of; an address, job title, company name, facsimiletelephone number, home web page address and birthday.
 16. (new) Thepersonalized assistance system according to claim 1, wherein the storedpersonal contact data includes dates for special occasions.
 17. (new)The personalized assistance system according to claim 16, wherein saidspecial occasions include any one of birthdays and anniversaries. 18.(new) The personalized assistance system according to claim 16, whereinsaid system contacts the user to notify them of the special occasion inadvance.
 19. (new) The personalized assistance system according to claim18, wherein said electronic commerce transaction is the purchase anddelivery of an item in connection with said special occasion.
 20. (new)The personalized assistance system as claimed in claim 1, wherein saidpersonal contact list further comprises a password.
 21. (new) Thepersonalized assistance system as claimed in claim 1, wherein saidpassword is the user's social security number.
 22. (new) Thepersonalized assistance system as claimed in claim 20, wherein said useris required to enter said password in order to update said contact list.23. (new) The personalized assistance system as claimed in claim 20,wherein said user is required to state said password in order to accesssaid personal contact list via said customer service representative. 24.(new) A personalized assistance system for a user of a telephone, thepersonalized assistance system comprising: a first database, the firstdatabase having a contact list for the user, the contact list includingat least one contact name and a corresponding contact number; atelephone identification code uniquely associated with the telephonesaid identification code being electronically transmitted to saidpersonalized assistance system, when said user calls the system; acustomer service representative terminal coupled to the database and thetelephone hardware, the telephone identification code promptingautomatic retrieval of the contact list to the customer servicerepresentative terminal in response to processing of said telephoneidentification code, the customer service representative terminalperforming a commercially related service.
 25. (new) The personalizedassistance system according to claim 24, wherein said commerciallyrelated service is providing the user with a plurality of commercialestablishment information.
 26. (new) The personalized assistance systemaccording to claim 25, wherein said plurality of commercialestablishment information includes reviews of said commercialestablishments.
 27. (new) The personalized assistance system accordingto claim 24, wherein said commercially related service is securingeither one of reservations and tickets for said commercialestablishment.
 28. (new) A personalized assistance system for a user ofa telephone, the personalized assistance system comprising: a firstdatabase, said first database having a contact list for the user, thecontact list including at least one contact name and a correspondingcontact number; a hand-held device, having a plurality of contactsstored therein, such that said first database and said hand-held deviceare in communication with one another for the purposes of communicatingcontact information; and a computer terminal coupled to said firstdatabase configured to retrieve said list of personal contact data inresponse to a received call associated with said personal contact dataso as to allow a customer service representative to identify a desiredlisting from said personal contact data.
 29. (new) A personalizedassistance system according to claim 28, further comprising a hand-heldserver in said personalized assistance system for communicating withsaid hand-held device and said first database.
 30. (new) A personalizedassistance system according to claim 28, wherein said data contained insaid first database is synchronized with said data in said hand-helddevice.
 31. (new) A personalized assistance system for a user of atelephone, the personalized assistance system comprising: a firstdatabase, the first database having a contact list for the user, thecontact list including at least one contact name and a correspondingcontact number; a telephone identification code uniquely associated withthe telephone said identification code being electronically transmittedto said personalized assistance system, when said user calls the system;and a customer service representative terminal coupled to the databaseand the telephone hardware, the telephone identification code promptingautomatic retrieval of the contact list to the customer servicerepresentative terminal in response to processing of said telephoneidentification code, the customer service representative terminalsearching said contact list in response to a user query to locate adesignated contact from the user's contact list and causing thetelephony hardware to connect the telephone with the contact numbercorresponding to the designated contact, wherein said system plays abranded audio message to said user when said user is waiting to beconnected to said customer service representative.
 32. (new) Apersonalized assistance system according to claim 31, wherein saidbranded audio message is recorded in the same voice as the particularsaid customer service representative that said user is connected to.